#ifndef _DD_OBB_H_
#define _DD_OBB_H_

#include "dd_base.h"
#include "math/vec3.h"
#include "math/mat4x4.h"

namespace dd 
{
///////////////////////////////////////////////////////
///	\brief	Base class for debug shapes
///////////////////////////////////////////////////////
class OBB : public PrimitiveBase
{
public:
    /**
     * Initialize class
     */
					    OBB();

    /**
     * Destroy class
     */
	virtual			    ~OBB();

    /**
     * Render to buffer
     * @param   _pBuffer    Buffer to render into
     */
    virtual void	    Render(DBG_BUFFER* _pBuffer);

    /**
     * Setup Primitive
     * @param _Size         Extents of Bounding box
     * @param _Mat          Mat4x4 of object
     * @param _Color        Set the colour of the sphere
     */			void	    Setup(const math::Vec3& _Size, const math::Mat4x4& _Mat, COLOR _Color = ColorRGBA(255, 255, 255));
private:
	math::Vec3			m_Size;
	math::Mat4x4		m_Mat;
};

}// End namespace dd


#endif //_DD_OBB_H_